package host;

import java.util.Vector;

import datatypes.BluetoothDeviceAddress;
import datatypes.Message;

public interface RoutingNetworkInterface {

	
	public void enableBluetoothDevice ();

	public void disableBluetoothDevice ();

	public void getClientSocket ();

	public void getServerSocket ();

	//Downside Layer Informations
	public void getDeviceListing ();
	
	public void  onInquiryScanAnswer (Vector<BluetoothDeviceAddress> answer);

	public void rfcommConnectionRequestReply (BluetoothDeviceAddress pairingPartner, boolean success);

	public void newRemoteHostConnected (BluetoothDeviceAddress remoteHost);

	public void invokeMsgAckSignal(Message msg, BluetoothDeviceAddress target) ;

	//an Message could not be send to target (or it is not clear if it could be send)
	public void invokeMsgLostSignal(BluetoothDeviceAddress target, Message msg) ;

	//--> Timestep Notification
	public void notificationAPI ();

	public void invokeSendMessage(Message msg, BluetoothDeviceAddress target);
	
	public void onReceiveMessage(Message msg, BluetoothDeviceAddress sender);
		
}
